The present invention relates, in general, to telephony services, and relates specifically to the queuing of calls in a telephony environment in which services are provisioned.
A typical office setting, such as an office employing 50 people, will not require 50 separate channels in order to provide adequate access to a telephony service such as voicemail. Most of the time, it would suffice to provide around 6 to 8 channels for these 50 people to be able to use the voicemail service. This is sufficient because not every employee will be attempting to access their voicemail at the same time. Such systems are engineered in order that the system is small as possible, while an adequate grade of service is made available to its users.
One manner in which such a traditional system can be engineered to make more efficient use of its resources is by the use of queuing. In a six-channel system that does not employ queuing, on the assumption that 6 users are concurrently using the voicemail system, and a seventh user is attempting to access the system, the seventh user would simply receive a busy signal during such attempts, until one of the previous users disconnects from the service. If queuing is employed, the seventh employee would not receive a busy signal, but would hear a standard ring-back tone. During that time, the call would be placed in a queue and would wait there until one of the 6 channels, or ports, becomes available.
FIG. 1 shows the interaction, in such a prior art system, between switch means 102 employing queuing and application means 104 providing a service, such as voice messaging. In such a system, queue 106 is maintained on the switch means 102. The switch means 102 must have detailed knowledge of the number of ports and their current busy/idle status in order to manage calls in the queue 106. Calls in the queue 106 are presented to the application means 104 only when a port becomes idle, i.e. available.
In a prior art system such as in FIG. 1, many steps are involved in the placement of a call. Firstly, a setup command is sent. In a situation where the application system may provide a plurality of services (eg. Voice Messaging or Automated Attendant), the setup message would identify which service the caller is trying to access. When such a setup command is received by the system, a determination is made as to what resources are needed in order to answer a call. If the necessary resources are available, then the call is answered; if the resources are not available, the switch parks the call until the resources become available. For example, a new call requesting speech-recognition may be queued if only four of the ports on the application system can provide the speech-recognition feature and those four ports are already in use.
However, the fact remains that queuing functionality is not available if it is not implemented on the switch itself. Therefore, the use of switches which do not implement queuing is not possible in networks that require this functionality.
Some prior art systems attempt to provide other types of queuing to non-switch means on systems which are very different technically from voice messaging. For instance, an authentication machine might accept userid and password combinations to provide access to a given domain. In this case, simultaneous access attempts are effectively queued by another means before they are processed. These requests are queued in a manner that is transparent to the authentication machine. However, such systems are very limited in nature and are not easily adaptable to either voice calls or to the provisioning of messaging services. Furthermore, such systems are not designed to accommodate the various particularities associated with having a live person making the call, and not just another machine. An example of such a particularity would be the necessity to provide an audible ring-back tone over the communication channel in the absence of available resources for the call type being requested.
Recently, there have been developments in the provisioning of telephony services over networks employing the Internet Protocol (IP), rather than over a public-switched telephone network (PSTN), in conjunction with a private branch exchange (PBX). Some of these IP-based PBXs do not yet have queuing capabilities. Moreover, the amount of information that must be provided in the call setup command will continue to increase as the number and sophistication of the provided services increases. With the increased functionality and bandwidth being provided by voice-over-IP systems, keeping track of this information at the switch itself will become burdensome and will restrict the performance of the switch.
A particular standard outlining the use of IP-based telephony services is the H.323 standard recommendation entitled xe2x80x9cPacket-based multimedia communications systemsxe2x80x9d. This recommendation was published by the Telecommunication Standardization Section of the International Telecommunication Union (ITU-T) in February of 1998. An H.323 interface inherently provides for a route point intermediate state in which a call may be left indefinitely until resources become available. H.323 employs logical ports as opposed to physical ports in the setup of calls in such packet-based systems. The use of such logical ports could facilitate the provisioning of queuing as part of an application-based solution, as opposed to relying on traditional switch queuing solutions. An alternative IP based standard is Session Initiation Protocol, published as RFC 2543 by the Internet Engineering Task Force in March of 1999. It has a similar call model (where the setup phase is renamed invite) and logical ports.
Accordingly, it is an object of the invention to provide queuing functionality in a telephony system which employs a switch that cannot itself implement a queuing mechanism. It is a further object of the invention to reduce the amount of information required in standard on-switch queuing systems with respect to the type of call requested as well as the status of the individual ports of the switch.
According to one aspect of the invention, there is provided a telephony accessed application system for providing a service in accordance with a switching interface to a plurality of end units connected to a network, said application system comprising: switch means for switching calls over the network from said plurality of end units to said messaging system; application means for providing the messaging service to said plurality of end units on the network; and queue means provided within said application means for queuing calls which are in excess of the capacity of said application means.
According to another aspect of the invention, there is provided an application means for use in a telephony-accessed application system for providing a service in accordance with a switching interface to a plurality of end units connected to a network, said application system comprising switch means for switching calls over the network from said plurality of end units to said messaging system, said application means for providing the messaging service to said plurality of end units on the network comprising: queue means for queuing calls which are in excess of the capacity of said application means.
According to a further aspect of the invention, there is provided a method of providing a service in a telephony-accessed application system in accordance with a switching interface to a plurality of end units connected to a network, said application system comprising: switch means for switching calls over the network from said plurality of end units to said application system; application means for providing the service to said plurality of end units on the network; queue means provided within said application means for queuing calls which are in excess of the capacity of said application means; said method comprising the steps of: sending a setup message from the switch means to the application means to verify whether appropriate resources are available in order to answer a call; determining, at the application means, whether the appropriate resources are available; proceeding to a connect state if said determining step indicates that the appropriate resources are available; and placing the call in an alert state and placing the call in said queue means until the appropriate resources become available if said determining step indicates that the appropriate resources are not available.
In accordance with the present invention, since the switch itself does not perform the queuing functions, the responsibility of processing large amounts of data relating to the exact status of each port is transferred from the switch itself to the application means.